UNPKG

nuxt-users

Version:

A comprehensive user management module for Nuxt 3 and Nuxt 4 applications with authentication, authorization, database support, and CLI tools

33 lines (32 loc) 931 B
import { createError, defineEventHandler } from "h3"; import { useRuntimeConfig } from "#imports"; import { findUserById } from "../../utils/user.js"; export default defineEventHandler(async (event) => { const { nuxtUsers } = useRuntimeConfig(); const options = nuxtUsers; const userId = Number(event.context.params?.id); if (!userId) { throw createError({ statusCode: 400, statusMessage: "Invalid user ID" }); } try { const user = await findUserById(userId, options); if (!user) { throw createError({ statusCode: 404, statusMessage: "User not found" }); } return { user }; } catch (error) { if (error && typeof error === "object" && "statusCode" in error) { throw error; } throw createError({ statusCode: 500, statusMessage: `Error fetching user: ${error instanceof Error ? error.message : String(error)}` }); } });